package com.syedu.day01;

/**
 * @Description:Java基本数据类型
 *
 * 1TB=1024GB,1GB=1024MB,1MB=1024kB,1KB=1024BYTE,1BYTE=8BIT
 * bit,byte,kb,mb,gb,tb,pb,eb,zb,yb...
 *
 * 关于数据名字的命名:
 * 必须由数字,字母,_,$,中文组成,但是不可以是数字开头,也不推荐使用中文
 * 不能使用Java的关键字或者保留字
 * 如果是字母开头,要求小写,以后每个单词首字母大写
 * 见名知意
 *
 * @createTime 2022/3/3 13:51
 * @author Administrator
 */
public class DataTypeDemo {
    public static void main(String[] args) {
        //定义基本数据类型
        //第一大类:整数类型
        //1.字节型   -128~127                      占1个字节=8bit
        byte b = 127;
        System.out.println(b);

        //2.短整型   -32768~32767                  占2个字节=16bit
        short s = 32767;
        System.out.println(s);

        //3.整型     -2147483648~2147483647        占4个字节=32bit
        int i = 2147483647;
        System.out.println(i);

        //4.长整型    -2^63~2^63-1                  占8个字节=64bit
        //注意: Java中写一个整数默认就是int类型!!!
        long l = 9223372036854775807L;//此处结尾使用L表示该数值是长整型
        System.out.println(l);

        //第二大类:浮点数类型
        //5.单精度浮点数,占4个字节,-3.402823466x10^38~3.402823466x10^38
        //注意: Java中写一个小数默认就是double类型!!!
        float f = 3.14F;
        System.out.println(f);

        //6.双精度浮点数,占8个字节
        double d = 3.14;
        System.out.println(d);

        //第三大类:布尔类型,占1字节=8bit,true/false,一般用作判断
        boolean bool = true;
        System.out.println(bool);

        //第四大类:字符型,占2字节=16bit
        //字符型必须用''修饰,Java中一个char类型可以表示一个英文字母(1字节),也可以表示一个中文汉字(2字节)
        //ascii a=97,A=65,0=48...
        char c1 = 'a';//97
        char c2 = '我';
        char c3 = '\u6211';//Unicode编码(65536个字符),UTF-8就是Unicode中的一种常用的编码方式
        char c4 = '\n';//换行符
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c3);
        System.out.println(c4);

        //注意: 字符型可以进行运算
        //System.out.println(c1 + 1);//98
        System.out.println((char)(c1 + 1));//b
    }
}
